import { defineStore }  from "pinia"

export const useGoodsStore = defineStore({
    id:'goods',
    state:()=>({
        //在这里创建相关的变量
        //创建购物车数组
        cartData:[],
        data:[],
        //创建订单数组
        orderData:[]
    }),
    actions:{
        //在这里创建相关的方法
        //创建添加购物车的方法
        cartAdd(val){
           // console.log("object");
           let temp = JSON.parse(sessionStorage.getItem('cart'))
           if(temp == null){
                this.cartData.push(val) 
           }else{
            this.cartData = temp
            this.data = this.cartData.find(v=>v.id == val.id)//查找新插入的商品编号是否已经在原来的购物车数组中存在
            //如果存在，则进行数量的累积，重新计算商品金额，否则，直接插入即可
            if(this.data){
                this.data.num += val.num
                this.data.total = this.data.num * this.data.onlineprice
            }else{
                this.cartData.push(val)
            }
            
           }
            
            sessionStorage.setItem('cart',JSON.stringify(this.cartData))
           // console.log(this.cartData);
        },
        //创建生成订单的方法
        orderAdd(val){
            //定义一个中间数组，用来存储从session中获取的订单
            const temp=JSON.parse(sessionStorage.getItem('order'))
            if(temp == null){
                this.orderData.push(val)
            }else{
                this.orderData=temp
                this.orderData.push(val)
            }
            //最后把更新后的orderData重新放入session中
            sessionStorage.setItem('order',JSON.stringify(this.orderData))
            
        }
    }
})